Recently, NAND-type flash memories, which are nonvolatile memories, have come into widespread use. Compared with NOR-type flash memories, the NAND-type flash memories have the advantages of higher capacity and lower cost per bit, but the disadvantage of inferior data reliability, because bit errors may occur due to leakage of charge when the stored data are repeatedly read. Therefore, if a program for booting a system is stored in a NAND-type flash memory, because of such bit errors, the system may fail to be booted or may hung up after being booted.
Patent Document 1 describes a control device that reads a first boot program from a system nonvolatile memory and performs error detection on the first boot program. If it determines that the read first boot program has been improperly changed, it reads a second boot program from a backup nonvolatile memory and performs error detection on the second boot program. If it determines that the read second boot program has been improperly changed, it outputs an error notification. When the control device determines, as a result of the error detection on the first or second boot program, that the boot program has not been improperly changed, it performs a boot process using the boot program.